/** When your routing table is too long, you can split it into small modules**/

import Layout from '@/layout'
import RangeLineView from '@/views/ten/index.vue'
import { generateRangeRoutes } from '@/utils/study.js'

const CATE_VALUE_STRING = 'Ten'
const CATE_VALUE_PREFIX = `${CATE_VALUE_STRING.toUpperCase()}_`

const rangeList = generateRangeRoutes(CATE_VALUE_PREFIX, CATE_VALUE_STRING, RangeLineView, true)

const chartsRouter = {
  path: '/ten',
  component: Layout,
  redirect: 'noRedirect',
  name: 'Cate' + CATE_VALUE_STRING,
  meta: {
    title: '÷5 ten',
    icon: 'line-chart'
  },
  children: [
    {
      path: 'head',
      component: () => import('@/views/ten/head/index'),
      name: CATE_VALUE_STRING + 'Head',
      meta: { title: 'head', noCache: true }
    },
    {
      path: 'prime',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Prime',
      meta: {
        title: 'prime',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'PRIME_GROUPS'
      }
    },
    {
      path: 'fibonacci',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Fibonacci',
      meta: {
        title: 'fibonacci',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'FIBONACCI_GROUPS'
      }
    },
    {
      path: 'odd-even',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'OddEven',
      meta: {
        title: 'odd even',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'ODD_EVEN_GROUPS'
      }
    },
    {
      path: 'staggered',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Staggered',
      meta: {
        title: 'staggered',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'STAGGERED_GROUPS'
      }
    },
    {
      path: 'difference',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Difference',
      meta: {
        title: 'difference',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'DIFFERENCE_GROUPS'
      }
    },
    {
      path: 'center-expansion',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'CenterExpansion',
      meta: {
        title: 'center expansion',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'CENTER_EXPANSION_GROUPS'
      }
    },
    {
      path: 'large-mid-small',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'LargeMidSmall',
      meta: {
        title: 'large mid small',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'LARGE_MID_SMALL_GROUPS'
      }
    },
    {
      path: 'quadrant',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Quadrant',
      meta: {
        title: 'quadrant',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'QUADRANT_GROUPS'
      }
    },
    {
      path: 'pyramid',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Pyramid',
      meta: {
        title: 'pyramid',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'PYRAMID_GROUPS'
      }
    },
    {
      path: 'crossing',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Crossing',
      meta: {
        title: 'crossing',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'CROSSING_GROUPS'
      }
    },
    {
      path: 'jump-three',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'JumpThree',
      meta: {
        title: 'jump three',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'JUMP_THREE_GROUPS'
      }
    },
    {
      path: 'jump-four',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'JumpFour',
      meta: {
        title: 'jump four',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'JUMP_FOUR_GROUPS'
      }
    },
    {
      path: 'jump-five',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'JumpFive',
      meta: {
        title: 'jump five',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'JUMP_FIVE_GROUPS'
      }
    },
    {
      path: 'jump-six',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'JumpSix',
      meta: {
        title: 'jump six',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'JUMP_SIX_GROUPS'
      }
    },
    {
      path: 'alternating',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Alternating',
      meta: {
        title: 'alternating',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'ALTERNATING_GROUPS'
      }
    },
    {
      path: 'diagonal',
      component: RangeLineView,
      name: CATE_VALUE_STRING + 'Diagonal',
      meta: {
        title: 'diagonal',
        noCache: true,
        groupsKey: CATE_VALUE_PREFIX + 'DIAGONAL_GROUPS'
      }
    },
    ...rangeList
  ]
}

export default chartsRouter
